tatic ssize_t rio_read(rio_t *rp,char *usrbuf,size_t n)
{
	int cnt;
		 
	while (rp->rio_cnt <=0){
	rp->rio_cnt = read(rp->rio_fd,rp->rio_buf,sizeof(rp->rio_buf));
	 if (rp->rio_cnt <0){
	 if(errno !=ENITR)
	 return -1;
						 }
		else if (rp->rio_cnt ==0)
			return 0;
		else
		 rp->rio_bufptr = rp->rio_buf;
			 	 }											  	 cnt =n;													 if(rp->rio_cnt < n)
																	 cnt = rp->rio_cnt;
																	  memcpy(usrbuf,rp->rio_bufptr,cnt);
																 rp->rio_cnt -= cnt;
																 return cnt;
																}
